package br.usp.poli.compilador2008.syntatic;

import br.usp.poli.compilador2008.lexical.Token;
import br.usp.poli.compilador2008.lexical.TokenType;


public class Transition {
	private SubMachs subMaquinaAtual;	
	private int estadoAtual;
	private TokenType tokenConsumido;
	private SubMachs subMaquinaDestino; // (?)
	private int estadoDestino;
	
	// Construtor usando todos os atributos da classe
	public Transition(SubMachs subMaquinaAtual, int estadoAtual,
			TokenType tokenConsumido, SubMachs subMaquinaDestino,
			int estadoDestino) {
		super();
		this.subMaquinaAtual = subMaquinaAtual;
		this.estadoAtual = estadoAtual;
		this.tokenConsumido = tokenConsumido;
		this.subMaquinaDestino = subMaquinaDestino;
		this.estadoDestino = estadoDestino;
	}

	// Construtor
	public Transition() {		
	}

	//////////////// Getters e Setters ////////////////
	public SubMachs getSubMaquinaAtual() {
		return subMaquinaAtual;
	}

	public void setSubMaquinaAtual(SubMachs subMaquinaAtual) {
		this.subMaquinaAtual = subMaquinaAtual;
	}

	public int getEstadoAtual() {
		return estadoAtual;
	}

	public void setEstadoAtual(int estadoAtual) {
		this.estadoAtual = estadoAtual;
	}

	public TokenType getTokenConsumido() {
		return tokenConsumido;
	}

	public void setTokenConsumido(TokenType tokenConsumido) {
		this.tokenConsumido = tokenConsumido;
	}

	public SubMachs getSubMaquinaDestino() {
		return subMaquinaDestino;
	}

	public void setSubMaquinaDestino(SubMachs subMaquinaDestino) {
		this.subMaquinaDestino = subMaquinaDestino;
	}

	public int getEstadoDestino() {
		return estadoDestino;
	}

	public void setEstadoDestino(int estadoDestino) {
		this.estadoDestino = estadoDestino;
	}
	

		
	
	
}
